#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<string>
using namespace std;
int main()
{
    string AD, ADD;
    int flag = 0, A = 0, B = 0,m1 = 1,m2 = 1;
    cin >> AD;
    getchar();
    getline(cin, ADD);
    for (int i = AD.size() - 1;i >= 0;i--)
    {
        if (isdigit(AD[i]) == 0)
        {
            flag = -1;
            AD = '?';
            break;
        }
        A += (AD[i] - '0') * m1;
        m1 *= 10;
    }
    for (int i = ADD.size() - 1;i >= 0;i--)
    {
        if (isdigit(ADD[i]) == 0)
        {
            flag = -1;
            ADD = '?';
            break;
        }
        B += (ADD[i] - '0')*m2;
        m2 *= 10;
    }
    if (flag == 0)
    {
        cout << A << ' ' << '+' << ' ' << B << ' ' << '=' << ' ' << A + B << endl;
    }
    else {
        cout << AD << ' ' << '+' << ' ' << ADD << ' ' << '=' << ' ' << '?' << endl;
    }
    return 0;
}
